The availability and use of computers has become nearly ubiquitous in modem society. Computers, such as personal computers (PCs), are in wide use today in homes and businesses for tasks such as word processing, accounting, graphics, imaging, social networking, data management, gaming, application development, etc. Although significant strides have been made with respect to providing compatibility, particularly data compatibility, between computers of different makes, models, and operating systems, such computers are not homogeneous. That is, the underlying computing architecture, the operating system protocols, the computer resources, etc. differ from computer to computer, thereby presenting multiple computing platforms having appreciable differences.
Despite the differences in computing platforms, application environments have been developed which facilitate applications (i.e., computer software instructions or code defining desired operation of a host computer) running on multiple platforms. For example, FLASH® available from Adobe Systems Incorporated provides a rich platform independent browser based runtime environment in which applications developed for FLASH® can run on any computer having the FLASH® runtime environment operable thereon. JAVA VIRTUAL MACHINE (JVM) available from Sun Microsystems provides a browser based application environment in which applications developed for JVM can run on any JVM configured computer regardless of the particular host platform configuration. Additionally, ADOBE® INTEGRATED RUNTIME (AIR™) available from Adobe Systems Incorporated provides a versatile application runtime environment in which applications developed using FLASH® PROFESSIONAL (available from Adobe Systems Incorporated), DREAMWEAVER® (available from Adobe Systems Incorporated), FLEX® (available from Adobe Systems Incorporated), JAVASCRIPT (available from Sun Microsystems), asynchronous JAVASCRIPT and XML (AJAX), any text editor (e.g., providing HTML code), etc. can run on any AIR™ configured computer regardless of the particular host platform configuration.
The foregoing multi-platform applications are advantageous because they allow a single application to be developed which supports multiple computing platforms, thereby reducing development costs and increasing availability. However, although providing proper functionality when executed by different computing platforms, such multi-platform applications often do not present various characteristics which appear native to the underlying platform. Alternatively, where such multi-platform applications rely upon the rendering capabilities of the host platform, although perhaps presenting characteristics which appear native to the underlying platform, the developer of such multi-platform applications does not have the ability to customize or otherwise change those characteristics of the application.